﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BussinessLayer;
using DataAccessLayer.Entity;
namespace QLTSLienThong.Form_he_thong
{
    public partial class frmDTUT : Form
    {
        public frmDTUT()
        {
            InitializeComponent();
        }
        DTUTBussiness dtUTBussiness = new DTUTBussiness();
        clsDoiTuongUuTien clsDTUT;
        bool _themDL, KiemTraTonTaiMa=true;
        object kq;
        private void btnHuyDTUT_Click(object sender, EventArgs e)
        {
            LoadDTUT();
        }
        private void LoadDTUT()
        {
            dtgDTUT.DataSource = dtUTBussiness.LoadDTUT();
            LoadDLTextBox();
            KhoaText();
        }
        private void btnLuuDTUT_Click(object sender, EventArgs e)
        {
            if (KiemTraDL())
            {
                if (_themDL)
                {
                    clsDTUT = new clsDoiTuongUuTien();
                    clsDTUT.MaDTUT = txtMaDTUT.Text.Trim();
                    clsDTUT.TenDTUT = txtTenDTUT.Text.Trim();
                    clsDTUT.DiemTUT = decimal.Parse(txtDiemDTUT.Text.Trim());
                    dtUTBussiness.ThemDTUT(clsDTUT);
                    MessageBox.Show("Thêm thành công!","Thông báo");
                    LoadDTUT();
                }
                else
                {
                    clsDTUT = new clsDoiTuongUuTien();
                    clsDTUT.MaDTUT = txtMaDTUT.Text.Trim();
                    clsDTUT.TenDTUT = txtTenDTUT.Text.Trim();
                    clsDTUT.DiemTUT = decimal.Parse(txtDiemDTUT.Text.Trim());
                    dtUTBussiness.SuaDTUT(clsDTUT);
                    MessageBox.Show("Sửa thành công!", "Thông báo");
                    LoadDTUT();
                }
            }
        }
        private void KhoaText()
        {
            txtMaDTUT.ReadOnly = true;
            txtTenDTUT.ReadOnly = true;
            txtDiemDTUT.ReadOnly = true;
            btnThemDTUT.BringToFront();
            btnSuaDTUT.BringToFront();
        }
        private void XoaText()
        {
            txtDiemDTUT.Clear();
            txtMaDTUT.Clear();
            txtTenDTUT.Clear();
        }
        private void MoText()
        {
            txtMaDTUT.ReadOnly = false;
            txtTenDTUT.ReadOnly = false;
            txtDiemDTUT.ReadOnly = false;
            btnThemDTUT.SendToBack();
            btnSuaDTUT.SendToBack();
        }
        private void frmDTUT_Load(object sender, EventArgs e)
        {
            LoadDTUT();
        }

        private void btnSuaDTUT_Click(object sender, EventArgs e)
        {
            MoText();
            _themDL = false;
        }

        private void btnThemDTUT_Click(object sender, EventArgs e)
        {
            MoText();
            XoaText();
            txtMaDTUT.Focus();
            _themDL = true;
        }
        private bool KiemTraDL()
        {
            if (txtMaDTUT.Text.Trim() == "")
            {
                MessageBox.Show("Nhập mã ĐTUT","Thông báo");
                txtMaDTUT.Focus();
                return false;
            }
            if (_themDL == false)
            {
                if (txtMaDTUT.Text.Trim() == dtgDTUT.CurrentRow.Cells["MaDTUT"].Value.ToString())
                {
                    KiemTraTonTaiMa = false;
                }
            }
            if (KiemTraTonTaiMa == true)
            {
                clsDTUT = new clsDoiTuongUuTien();
                clsDTUT.MaDTUT = txtMaDTUT.Text.Trim();
                kq = dtUTBussiness.KiemTraMa(clsDTUT);
                if (Convert.ToInt32(kq) > 0)
                {
                    MessageBox.Show("Mã này đã tồn tài!", "Thông báo!");
                    txtMaDTUT.Focus();
                    return false;
                }
            }
            if (txtTenDTUT.Text.Trim() == "")
            {
                MessageBox.Show("Nhập tên ĐTUT", "Thông báo");
                txtTenDTUT.Focus();
                return false;
            }
            if (txtDiemDTUT.Text.Trim() == "")
            {
                MessageBox.Show("Nhập điểm ĐTUT", "Thông báo");
                txtDiemDTUT.Focus();
                return false;
            }
            return true;
        }
        private void LoadDLTextBox()
        {
            txtMaDTUT.DataBindings.Clear();
            txtMaDTUT.DataBindings.Add("Text",dtgDTUT.DataSource,"MaDTUT");
            txtTenDTUT.DataBindings.Clear();
            txtTenDTUT.DataBindings.Add("Text", dtgDTUT.DataSource, "TenDTUT");
            txtDiemDTUT.DataBindings.Clear();
            txtDiemDTUT.DataBindings.Add("Text", dtgDTUT.DataSource, "DiemDTUT");
        }

        private void btnXoaDTUT_Click(object sender, EventArgs e)
        {
            XoaDTUT();
        }
        private void XoaDTUT()
        {
            clsDTUT = new clsDoiTuongUuTien();
            clsDTUT.MaDTUT = txtMaDTUT.Text.Trim();
            if (MessageBox.Show("Bạn muốn xóa mã: " + txtMaDTUT.Text.Trim() + "?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                dtUTBussiness.XoaDTUT(clsDTUT);
                LoadDTUT();
            }
        }
    }
}
